Manufacturers seek to take advantage of the greater flexibility of general purpose computers, including inexpensive commercially available personal computers, or "PCs", to enhance the efficiency associated with creating and maintaining software programs used to control industrial processes. Because general purpose computers can be programmed in high level commercially available languages such as BASIC, FORTRAN, C, or in object-oriented languages such as C++, manufacturers and process control vendors have been able to develop PC-based control systems that emulate traditional "PLC" (programmable logic controller) functions, but do it in such a way that permits them to be easy to use, program and maintain, while still offering significant cost savings over dedicated PLC-based solutions.
In many instances when a PLC is used, the PLC is connected to a central control computer. In such an arrangement, the PLC plays its own dedicated role controlling the industrial process at hand while concurrently communicating information back to the central computer. By using the high level commercially available programming languages, control methods have evolved using graphical flow charts to aid the software programmer developing control programs which can emulate traditional PLC functions. Use of PCs in this way enables a manufacturer to develop and run the operator interface on the same PC and share data with other WINDOWS based programs through a dynamic data exchange. Thus, a single PC may perform the function of the programmable logic controller, the operator panel, the programming terminal, and the real time system simulator. A PC therefore can replace three separate components: PLC programming terminal, PLC processor, and operator interface. By implementing a PC-based control system, manufacturers are able to lower control system investment costs, increase productivity in design and industrial operations, and reduce down time with pre-programmed flow chart based diagnostics.
The vast majority of industrial processes, by definition, consist of a series of sequential or concurrent steps, each step involving one or more actions to be taken by a machine or machines. The steps may occur at specific times and in a specified sequence according to specific parameters, or may occur in response to specific events. Each step may have one or more elements, each element describing activities or operations with greater specificity. The large number and types of errors that occur at each step of a manufacturing process, however, can make creating a diagnostic program using only flowchart steps inefficient and burdensome. As shown in FIG. 3, each step in the manufacturing process normally has more than one possible error condition. Ordinarily, a separate flowchart decision must be created for each error condition. Within each decision, the programmer must specify each parameter for detecting and evaluating the error condition in each decision, and if the parameters for any error condition change, the programmer must manually search for and update the parameters inside the flowchart program. As a result, updates of the diagnostic parameters require a large amount of development time in the programming of the manufacturing process.
Manufacturers and applications engineers are therefore very interested in new methods for increasing the efficiency associated with developing control programs, and especially methods for increasing the efficiency of programming flowchart based diagnostics.